Skip to main content

Kurvenscheiben programmatisch erstellen

Das Beispielprojekt BasicMotion_CreateCamTableOnline.project ist im Installationsverzeichnis von CODESYS unter  ..\CODESYS SoftMotion\Examples zu finden.

Das Beispiel zeigt, wie Sie eine Kurvenscheibe im IEC-Code erstellen und verwenden können. Dabei wird auf die folgenden Punkte eingegangen:

  • Eine im Kurvenscheibeneditor erzeugte Kurvenscheibe wird im IEC-Code nachgebaut.

    • In einem Fall wird die Kurvenscheibe in der Bus-Task erzeugt.

    • Im anderen Fall wird die Kurvenscheibe in einer eigenen Task erzeugt.

  • Alle drei Kurvenscheiben werden abschließend mit der gleichen Masterachse und unterschiedlichen Slaveachsen ausgeführt. Die Bewegung der drei Slaves ist dabei identisch.

  • Die im IEC-Code erzeugte Kurvenscheibe wird in der Visualisierung dargestellt.

Für weitere Informationen rund um die programmatische Erstellung von Kurvenscheiben siehe: Programmatisches Anlegen von Kurvenscheiben

Aufbau der Applikation

Die Applikation besteht aus den folgenden Bestandteilen:

  • CamOffline

    Die im Kurvenscheibeneditor erzeugte Kurvenscheibe, die im IEC-Code nachgebaut werden soll.

  • PLC_PRG

    Das Programm besteht aus einer einfachen Zustandsmaschine und logisch gesehen aus drei Teilen. Im ersten und zweiten Teil wird eine Kurvenscheibe im IEC-Code erstellt. Im dritten Teil werden die zuvor erstellten Kurvenscheiben sowie eine offline angelegte, identische Kurvenscheibe ausgeführt.

    • Teil 1:

      Im ersten Zustand STATE_CREATE_ONLINE_TABLE wird eine Kurvenscheibe im IEC-Code angelegt. Dazu wird der Baustein SMCB.CamBuilder aus der Bibliothek SM3_CamBuilder verwendet. Es werden 3 Segmente angehängt: Ein Poly5-Element gefolgt von einem Line-Element und einem weiteren Poly5-Element. Der Builder erzeugt daraus eine Kurvenscheibe CamOnline. Ab diesem Zeitpunkt ist die Kurvenscheibe im IEC-Code angelegt und kann, wie die offline im Kurvenscheibeneditor angelegte Kurvenscheibe CamOffline, verwendet werden.

    • Teil 2:

      In den Zuständen STATE_INIT_ONLINE_TABLE_MULTITASK, STATE_START_CREATE_ONLINE_TABLE_MULTITASK und STATE_READ_ONLINE_TABLE_MULTITASK wird das Anlegen der Kurvenscheibe in einer anderen Task gestartet und abschließend wird diese ausgelesen.

    • Teil 3:

      Im Zustand STATE_POWER_DRIVES werden die virtuellen Achsen für den Master und der drei Slaveachsen initialisiert. Daraufhin werden die Kurvenscheiben mit MC_CamTableSelect im Zustand STATE_SELECT_TABLE ausgewählt und im finalen Zustand STATE_MOVEMENT ausgeführt. Die Masterachse wird mit MC_MoveVelocity bewegt und dient als Master für die drei Kurvenscheiben.

  • MultitaskCamBuilder

    Ein Programm, das, wie in Teil 1 von PLC_PRG beschrieben, eine Kurvenscheibe erzeugt. Einziger Unterschied ist hier, dass eine Multitask/Multicore sichere Variante der Kurvenscheibe verwendet wird.

  • GVL

    Hier ist die Multitask/Multicore sichere Variante der Kurvenscheibe instanziiert.

  • Visualization

    Die Visualisierung beinhaltet das Element SMC_Visu_CamDisplayer zum Darstellen von Kurvenscheiben. Es wird die in Teil 1 von PLC_PRG erzeugte Kurvenscheibe angezeigt.

  • CamDisplayerSettings

    Zusätzliche Elemente für die Darstellung der Kurvenscheibe in Visualization

  • Trace

    Mithilfe des Trace können Sie die Bewegung der virtuellen Achsen nachvollziehen. Es wird die aktuelle Position des Masters, sowie die Position, Geschwindigkeit und Beschleunigung der drei Slaveachsen aufgezeichnet.

Inbetriebnahme

  1. Übersetzen Sie die Applikation und laden Sie sie auf eine Steuerung.

  2. Starten Sie den Trace und die Applikation.

  3. Beobachten Sie die Traceaufzeichnung

  4. Anzeige der erzeugten Kurvenscheibe in der Visualisierung